package work.base.lambda;

import java.util.Optional;
import java.util.function.Supplier;

/**
 * lambda表达式
 * Lambda 允许把函数作为一个方法的参数（函数作为参数传递进方法中）。
 */
public class SupplierTest01 {

    public static void main(String[] args) {

        Optional<String> emptyOpt  = Optional.empty();

        // lambda表达式也可以定义在方法外面
        // Supplier接口 get方法 没有参数 有返回值
        Supplier<String> supplier = () -> {
            int num = 1;
            int sum = num + 100;
            return String.valueOf(sum);
        };
        Object emptyVal = emptyOpt.orElseGet(supplier);
        System.out.println(emptyVal);//aaa


    }
}
